import org.apache.spark.{SparkConf, SparkContext}

// 在Scala编程语言中，class和object是两个基本的构建块，它们在定义和实例化对象时扮演着不同的角色。
// class是一个蓝图，用于创建具体的对象实例，它定义了对象的属性和行为。
// 而object在Scala中用于实现单例模式，它本身就是一个实例，通常用于存放静态成员和静态方法。
object TransFilter {
  def test(sc: SparkContext): Unit = {
    // 测试计算闰年
    var rdd = sc.parallelize(1.toLong to 1000000000.toLong)
    var rdd2 = rdd.filter(i => i % 4==0 && i % 100!=0 || i % 400==0)
    var l = rdd2.count()
    println("the count is:", l)
  }
  
  def main(args: Array[String]): Unit = {
    var conf = new SparkConf().setAppName("TransFilter").setMaster("local[*]")
    var sc = new SparkContext(conf)
    test(sc)
    sc.stop()
  }
}

// cd ....../filter
// sbt run
// 或
// cd ....../filter
// sbt package
// spark-submit --class TransFilter ....../filter/target/scala-2.12/transfilter_2.12-1.0.jar